package com.ruoyi.system.api;

import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.domain.ActKeyPage;
import com.ruoyi.system.api.factory.RemoteActivitiFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * 模板key页面id关联服务
 * 
 * @author ruoyi
 */
@FeignClient(contextId = "remoteKeyPageService", value = ServiceNameConstants.ACTIVITI_SERVICE, fallbackFactory = RemoteActivitiFallbackFactory.class)
public interface RemoteActivitiService
{
    /**
     * 获取模板key页面id关联
     *
     * @param actKeyPage 模板key页面id关联
     * @return 结果
     */
    @PostMapping(value = "/keyPage/listNoPaging")
    public R<List<ActKeyPage>> listNoPaging(@RequestBody ActKeyPage actKeyPage);

    @PostMapping(value = "/process/submitApplyByMap")
    public R<Map<String, Object>> submitApplyByMap(@RequestBody Map<String, Object> map);

    @PostMapping(value = "/process/richProcessFieldByMap")
    public R<Map<String, Object>> richProcessFieldByMap(@RequestBody Map<String, Object> map);

    @GetMapping(value = "/process/activitiReminder/{hour}")
    public R<Map<String, Set<String>>> activitiReminder(@PathVariable("hour") Integer hour);
}
